English  |  French

Software Development

The Rational Environment supports multiple users. It provides facilities for building and maintaining versions of groups of modules (subsystems). It can enforce a check-in/check-out procedure that prevents programmers from overwriting each other's modifications. It also controls access to program components.

Environment refers to the collection software developer uses to build software systems. As technology improves and user expectations grow, an environment's functionality tends to change. Over the last 20 years the set of software tools available to developers has expanded considerably.

We can illustrate this change by observing some distinctions in the terminology. Programming environment and software development environment are often used synonymously, but here we will make a distinction between the two. By 'programming environment' we mean an environment that supports only the coding phase of the software development cycle—that is,programming-in-the-small tasks such as editing and compiling. By software development environment we mean an environment that augments or automates the activities comprising the software development cycle, including programming-in-the-large tasks such as configuration management and programming-in-the-many tasks such as project and team management. We also mean an environment that supports large scale, long-term maintenance of software.

The evolution of environments also demands that we distinguish basic operating system facilities—fundamental services such as memory, data, and multiple program management—from the enhanced functionality that characterizes state-of-the-art environments. This enhanced functionality is typically achieved through tools such as browsers, window managers, configuration managers, and task managers. In a sense, environments have evolved in concert with the software engineering community's understanding of the tasks involved in the development of software systems.

GET IN TOUCH WITH US

Have a question or want further information?